Link to this headingBooting
Boot Loader 1: Used to boot the CPU
Boot Loader 2: Used to setup the wires and other devices on the main board.
Boot Loader 3.1: Used to setup the Memory and Memory map
Boot Loader 3.2: Optional Secure Boot
Boot Loader 3.3: U-boot
Link to this headingCoreboot
Link to this headingBooting
Stages:
- bootblock
- switch to 32 bit Protected Mode
- cache-as-ram (CAR) Setup the heap and stack
- verstage (optional)
- enforce R, R/W premissions on flashmap
- verify signatures of the flash memory
- romstage
- Initialize RAM, cbmem
- Mostly Vendor Blobs
- postcar
- Remove cache-as-ram (CAR) Setup
- switch to RAM Code
- ramstage
- Initalize Hardware, PCI, TPM, Graphics, etc.
- Set BIOS, ACPI, coreboot tables
- Check Resume OS?
- payload
- launch Linux, Grub, etc.